IMotion.MoveAxisAbsolute 方法
命令一個控制運動到達指定的絕對位置。
命名空間:IntervalZero.KINGSTAR.Base.Api組合: IntervalZero.KINGSTAR.Base.Api (於 IntervalZero.KINGSTAR.Base.dll) 版本:4.4.0.0
語法
KsCommandStatus MoveAxisAbsolute(
int Index,
double Position,
double Velocity,
double Acceleration,
double Deceleration,
double Jerk,
McDirection Direction,
McBufferMode BufferMode
)
Function MoveAxisAbsolute(
Index As Integer,
Position As Double,
Velocity As Double,
Acceleration As Double,
Deceleration As Double,
Jerk As Double,
Direction As McDirection,
BufferMode As McBufferMode
) As KsCommandStatus
參數
Index [in]
型別:int
軸索引。索引以 0 為起始;別名將影響此參數。
Position [in]
型別:double
運動的目標位置。[單位](正或負值)
Velocity [in]
型別:double
最大速度值,若目標位置很接近,不一定會達到最大速度。[單位/秒]
Acceleration [in]
型別:double
加速度值,永遠為正值,單位由 McProfileType 決定(增加馬達電量)。[單位/秒2] 或 [秒]
Deceleration [in]
型別:double
減速度值。永遠為正值,單位由 McProfileType 決定(減少馬達電量)。[單位/秒2] 或 [秒]
Jerk [in]
型別:double
加加速度值,永遠為正值,單位由 McProfileType 決定。[單位/秒3] 或 [秒]
Direction [in]
型別:McDirection
軸的移動方向。
BufferMode [in]
型別:McBufferMode
定義如何融合兩方法的速度。
回傳值
回傳 KsCommandStatus 類別。
備註
- 若此命令被中斷,未行駛的距離將被放棄。
- 若無其他擱置的動作,則此動作以零速度完成。
- 若只有一種數學解決方案可以到達指定位置(比如在線性系統中),則 Direction 輸入的值將被忽略。
- 對於模數軸,有效的絕對位置值在 [0, 360) 或相應範圍內,然而,應用程式可能會將 MoveAxisAbsolute 的 “命令位置” 移動到相應的模數範圍內。
mcShortestWay
列舉類型著重於最短路徑的軌跡,移動的方向取決於發送命令時的當下位置。- 更多關於融合模式的運作方式請見:概念解說 > 融合運動。
- 當模數軸啟用時,模數值會套用至 Position 參數,軸將依據所設的 Direction 移動。
例如,若模數值為 360,當 Direction 設定為:- mcShortestWay / mcCurrentDirection:軸會採用最短距離到達目標。若距離相同,軸將以正方向移動至目標。例如,若目前位置為 0,目標位置為 340,軸將移動 -20 到達目標位置,最終位置將為 340。
- mcPositiveDirection:軸以正方向移動至目標。例如,若目前位置為 0,目標位置為 -20,軸將移動 340 到達目標位置。
- mcNegativeDirection:軸以負方向移動至目標。例如,若目前位置為 0,目標位置為 20,軸將移動 -340 到達目標位置,最終位置將為 20。
範例
N/A
參見